﻿<%@ Application Language="C#" %>
<%@ Import Namespace="System.Globalization" %>
<%@ Import Namespace="System.Threading" %>
<%@ Import Namespace="System.Web.Caching" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup

    }
    
    void Application_End(object sender, EventArgs e) 
    {
        //  Code that runs on application shutdown

    }
        
    void Application_Error(object sender, EventArgs e) 
    { 
        // Code that runs when an unhandled error occurs

    }

    void Session_Start(object sender, EventArgs e) 
    {
        // Code that runs when a new session is started

    }

    void Session_End(object sender, EventArgs e) 
    {
        // Code that runs when a session ends. 
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer 
        // or SQLServer, the event is not raised.
    }

    void Application_BeginRequest(object sender, EventArgs e)
    {
        try
        {
            if (Request.Cookies["Language"] != null)
            {
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(Request.Cookies["Language"].Value);
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.Cookies["Language"].Value);
            }
            else
            {
                HttpCookie de_Cookie = new HttpCookie("Language");
                de_Cookie.Value = "en-US";
                de_Cookie.Expires = DateTime.MaxValue;
                Response.Cookies.Add(de_Cookie);
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(de_Cookie.Value);
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(de_Cookie.Value);
            }
        }
        catch (Exception ex)
        {
            Response.Redirect("../Error.aspx", false);
        }
    }
       
</script>
